const Koa = require('koa');
const bodyParser = require('koa-bodyparser');
const cors = require('koa2-cors');

const useRoutes = require("../router");
// 错误处理
const errorHandler = require("./error-handle");

const app = new Koa();

//设置跨域访问
app.use(
  cors({
    origin: '*',
    maxAge: 10, //指定本次预检请求的有效期，单位为秒。
    credentials: true, //是否允许发送Cookie
    allowMethods: ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS'], //设置所允许的HTTP请求方法
    allowHeaders: ['Content-Type', 'Authorization', 'Accept'], //设置服务器支持的所有头信息字段
    exposeHeaders: ['WWW-Authenticate', 'Server-Authorization'] //设置获取其他自定义字段
  })
);

// 注册中间件
app.use(bodyParser());

// 注册路由
useRoutes(app);

// 监听错误处理
app.on('error', errorHandler);

module.exports = app;
